﻿$(document).ready(function () {

    //    $('#button-find').click(function () {
    //        loadData(1);
    //    });
    loadData(1);

    //    $(document).on('click', '.grid .btn.remove', function () {
    //        $.prompt("Do you want to remove this feedback item?", {
    //            title: "Confirm",
    //            buttons: { "Yes": true, "Cancel": false },
    //            submit: function (e, v) {
    //                if (!v) return;
    //                var result = authorizedImplement.deleteItem($(this).attr('rel'));
    //                if (result) {
    //                    $(this).closest('tr').remove();
    //                } else {
    //                    $.prompt('Delete this authorized failed.');
    //                }
    //            }
    //        });
    //    });

});

var currentPage, pageNum;

function loadData(pageNum, isPaged) {
    var result = feedbackImplement.getList(pageNum);

    if (result != null) {
        $('#list').setTemplateURL("/templates/feedbacklist.htm");
        $('#list').processTemplate(result);

        if (!isPaged) {
            paginator(result.RowCount, result.PageSize);
        }
    }

    currentPage = pageNum;
}

function paginator(rowCount, pageSize) {
    $('#pager').smartpaginator({
        totalrecords: rowCount,
        recordsperpage: pageSize,
        length: 5,
        next: 'Next',
        prev: 'Prev',
        first: 'First',
        last: 'Last',
        theme: 'blue',
        controlsalways: true,
        onchange: function (newPage) {
            loadData(newPage, true);
            currentPage = newPage;
            $('#r').html('Page # ' + newPage);
        }
    });
}

var feedbackImplement = new Object(
    {
        getList: function (pageNum) {
            var list;
            $.ajax({
                type: "POST",
                url: "/Pages/FeedbackList.aspx/GetFeedbackList",
                data: JSON.stringify({ pageNum: pageNum }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function (data) {
                    list = data.d;
                },
                error: function () {
                    list = null;
                }
            });

            return list;
        }
    });